home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / CUGUK / PROG_TOO / C027B.ZIP / JAS / OPCODES.H < prev    next >
Text File  |  1990-03-30  |  9KB  |  173 lines

  1.  
  2. /*
  3.  * Copyright (c) 1988 by Sozobon, Limited.  Author: Joseph M Treat
  4.  *
  5.  * Permission is granted to anyone to use this software for any purpose
  6.  * on any computer system, and to redistribute it freely, with the
  7.  * following restrictions:
  8.  * 1) No charge may be made other than reasonable charges for reproduction.
  9.  * 2) Modified versions must be clearly marked as such.
  10.  * 3) The authors are not responsible for any harmful consequences
  11.  *    of using this software, even if they result from defects in it.
  12.  */
  13.  
  14. {"",        0,    0,    0,    "",        0 },
  15. {"abcd$s",    O_DN,    O_DN,    S_B,    "xc%1ro40%r",    F_B },
  16. {"abcd$s",    O_PRE,    O_PRE,    S_B,    "xc%1ro41%r",    F_B },
  17. {"add$s",    O_IMM,    O_DST,    S_BWL,    "x5%q0$s%1e",    F_W|F_Q },
  18. {"add$s",    O_IMM,    O_AN,    S_WL,    "x5%q0$s%1e",    F_W|F_Q },
  19. {"add$s",    O_IMM,    O_DMEM,    S_BWL,    "x06$s%1e",    F_W },
  20. {"add$s",    O_ALL,    O_AN,    S_W,    "xd%1ro3%e",    F_W },
  21. {"add$s",    O_ALL,    O_AN,    S_L,    "xd%1ro7%e",    F_W },
  22. {"add$s",    O_NAN,    O_DN,    S_BWL,    "xd%1r0$s%e",    F_W },
  23. {"add$s",    O_AN,    O_DN,    S_WL,    "xd%1r0$s%e",    F_W },
  24. {"add$s",    O_DN,    O_DMEM,    S_BWL,    "xd%r1$s%1e",    F_W },
  25. {"adda$s",    O_ALL,    O_AN,    S_W,    "xd%1ro3%e",    F_W },
  26. {"adda$s",    O_ALL,    O_AN,    S_L,    "xd%1ro7%e",    F_W },
  27. {"addi$s",    O_IMM,    O_DST,    S_BWL,    "x06$s%1e",    F_W },
  28. {"addq$s",    O_IMM,    O_DST,    S_BWL,    "x5%q0$s%1e",    F_W|F_Q },
  29. {"addq$s",    O_IMM,    O_AN,    S_WL,    "x5%q0$s%1e",    F_W|F_Q },
  30. {"addx$s",    O_DN,    O_DN,    S_BWL,    "xd%1r1$so0%r",    F_W },
  31. {"addx$s",    O_PRE,    O_PRE,    S_BWL,    "xd%1r1$so1%r",    F_W },
  32. {"and$s",    O_IMM,    O_DMEM,    S_BWL,    "x02$s%1e",    F_W },
  33. {"and$s",    O_NAN,    O_DN,    S_BWL,    "xc%1r0$s%e",    F_W },
  34. {"and$s",    O_DN,    O_DMEM,    S_BWL,    "xc%r1$s%1e",    F_W },
  35. {"and$s",    O_IMM,    O_CCR,    S_B,    "x023c",    F_B },
  36. {"and$s",    O_IMM,    O_SR,    S_W,    "x027c",    F_W },
  37. {"andi$s",    O_IMM,    O_DST,    S_BWL,    "x02$s%1e",    F_W },
  38. {"andi$s",    O_IMM,    O_CCR,    S_B,    "x023c",    F_B },
  39. {"andi$s",    O_IMM,    O_SR,    S_W,    "x027c",    F_W },
  40. {"as$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so4%1r",F_W },
  41. {"as$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so0%1r",F_W },
  42. {"as$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo0$d11%e",    F_W },
  43. {"bchg$s",    O_DN,    O_DN,    S_L,    "x0%ro5%1e",    F_L },
  44. {"bchg$s",    O_DN,    O_DMEM,    S_B,    "x0%ro5%1e",    F_B },
  45. {"bchg$s",    O_IMM,    O_DN,    S_L,    "x0o41%1e",    F_L },
  46. {"bchg$s",    O_IMM,    O_DMEM,    S_B,    "x0o41%1e",    F_B },
  47. {"bclr$s",    O_DN,    O_DN,    S_L,    "x0%ro6%1e",    F_L },
  48. {"bclr$s",    O_DN,    O_DMEM,    S_B,    "x0%ro6%1e",    F_B },
  49. {"bclr$s",    O_IMM,    O_DN,    S_L,    "x0o42%1e",    F_L },
  50. {"bclr$s",    O_IMM,    O_DMEM,    S_B,    "x0o42%1e",    F_B },
  51. {"bra$s",    O_LAB,    O_NONE,    S_BW,    "x60%d",    F_PC|F_TXT },
  52. {"bset$s",    O_DN,    O_DN,    S_L,    "x0%ro7%1e",    F_L },
  53. {"bset$s",    O_DN,    O_DMEM,    S_B,    "x0%ro7%1e",    F_B },
  54. {"bset$s",    O_IMM,    O_DN,    S_L,    "x0o43%1e",    F_L },
  55. {"bset$s",    O_IMM,    O_DMEM,    S_B,    "x0o43%1e",    F_B },
  56. {"bsr$s",    O_LAB,    O_NONE,    S_BW,    "x61%d",    F_PC|F_TXT },
  57. {"btst$s",    O_DN,    O_DN,    S_L,    "x0%ro4%1e",    F_L },
  58. {"btst$s",    O_DN,    O_MEM,    S_B,    "x0%ro4%1e",    F_B },
  59. {"btst$s",    O_IMM,    O_DN,    S_L,    "x0o40%1e",    F_L },
  60. {"btst$s",    O_IMM,    O_MEM,    S_B,    "x0o40%1e",    F_B },
  61. {"chk$s",    O_NAN,    O_DN,    S_W,    "x4%1ro6%e",    F_W },
  62. {"clr$s",    O_AN,    O_NONE,    S_W,    "x9%ro3%e",    F_W },
  63. {"clr$s",    O_AN,    O_NONE,    S_L,    "x9%ro7%e",    F_W },
  64. {"clr$s",    O_DST,    O_NONE,    S_BWL,    "x42$s%e",    F_W },
  65. {"cmp$s",    O_ALL,    O_AN,    S_W,    "xb%1ro3%e",    F_W },
  66. {"cmp$s",    O_ALL,    O_AN,    S_L,    "xb%1ro7%e",    F_W },
  67. {"cmp$s",    O_IMM,    O_DMEM,    S_BWL,    "x0c$s%1e",    F_W },
  68. {"cmp$s",    O_NAN,    O_DN,    S_BWL,    "xb%1r0$s%e",    F_W },
  69. {"cmp$s",    O_AN,    O_DN,    S_WL,    "xb%1r0$s%e",    F_W },
  70. {"cmpa$s",    O_ALL,    O_AN,    S_W,    "xb%1ro3%e",    F_W },
  71. {"cmpa$s",    O_ALL,    O_AN,    S_L,    "xb%1ro7%e",    F_W },
  72. {"cmpi$s",    O_IMM,    O_DST,    S_BWL,    "x0c$s%1e",    F_W },
  73. {"cmpm$s",    O_POST,    O_POST,    S_BWL,    "xb%1r1$so1%r",    F_W },
  74. {"db$C$s",    O_DN,    O_LAB,    S_W,    "x5$c1x9%r%D",    F_W|F_PC|F_TXT},
  75. {"divs$s",    O_NAN,    O_DN,    S_W,    "x8%1ro7%e",    F_W },
  76. {"divu$s",    O_NAN,    O_DN,    S_W,    "x8%1ro3%e",    F_W },
  77. {"eor$s",    O_IMM,    O_DST,    S_BWL,    "x0a$s%1e",    F_W },
  78. {"eor$s",    O_DN,    O_DST,    S_BWL,    "xb%r1$s%1e",    F_W },
  79. {"eor$s",    O_IMM,    O_CCR,    S_B,    "x0a3c",    F_B },
  80. {"eor$s",    O_IMM,    O_SR,    S_W,    "x0a7c",    F_W },
  81. {"eori$s",    O_IMM,    O_DST,    S_BWL,    "x0a$s%1e",    F_W },
  82. {"eori$s",    O_IMM,    O_CCR,    S_B,    "x0a3c",    F_B },
  83. {"eori$s",    O_IMM,    O_SR,    S_W,    "x0a7c",    F_W },
  84. {"exg$s",    O_AN,    O_AN,    S_L,    "xc%ro51%1r",    F_L },
  85. {"exg$s",    O_DN,    O_DN,    S_L,    "xc%ro50%1r",    F_L },
  86. {"exg$s",    O_AN,    O_DN,    S_L,    "xc%1ro61%r",    F_L },
  87. {"exg$s",    O_DN,    O_AN,    S_L,    "xc%ro61%1r",    F_L },
  88. {"ext$s",    O_DN,    O_NONE,    S_W,    "x4o420%r",    F_W },
  89. {"ext$s",    O_DN,    O_NONE,    S_L,    "x4o430%r",    F_L },
  90. {"jmp$s",    O_STAT,    O_NONE,    0,    "x4o73%e",    F_TXT },
  91. {"jsr$s",    O_LAB,    O_NONE,    S_BW,    "x61%d",    F_PC|F_TXT },
  92. {"jsr$s",    O_STAT,    O_NONE,    0,    "x4o72%e",    F_TXT },
  93. {"lea$s",    O_STAT,    O_AN,    S_L,    "x4%1ro7%e",    F_L },
  94. {"link",    O_AN,    O_IMM,    0,    "x4o712%r%L",    0 },
  95. {"ls$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so5%1r",F_W },
  96. {"ls$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so1%1r",F_W },
  97. {"ls$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo1$d11%e",    F_W },
  98. {"move$s",    O_IMM,    O_DN,    S_L,    "x7%1r0%k",    F_L|F_MQ },
  99. {"move$s",    O_ALL,    O_AN,    S_W,    "x3%1ro1%e",    F_W },
  100. {"move$s",    O_ALL,    O_AN,    S_L,    "x2%1ro1%e",    F_L },
  101. {"move$s",    O_NAN,    O_DST,    S_W,    "x3%1f%e",    F_W },
  102. {"move$s",    O_NAN,    O_DST,    S_L,    "x2%1f%e",    F_L },
  103. {"move$s",    O_NAN,    O_DST,    S_B,    "x1%1f%e",    F_B },
  104. {"move$s",    O_AN,    O_DST,    S_W,    "x3%1f%e",    F_W },
  105. {"move$s",    O_AN,    O_DST,    S_L,    "x2%1f%e",    F_L },
  106. {"move$s",    O_NAN,    O_CCR,    S_W,    "x4o23%e",    F_W },
  107. {"move$s",    O_NAN,    O_SR,    S_W,    "x4o33%e",    F_W },
  108. {"move$s",    O_SR,    O_DST,    S_W,    "x4o03%1e",    F_W },
  109. {"move$s",    O_USP,    O_AN,    S_L,    "x4o715%1r",    F_L },
  110. {"move$s",    O_AN,    O_USP,    S_L,    "x4o714%r",    F_L },
  111. {"movea$s",    O_ALL,    O_AN,    S_W,    "x3%1ro1%e",    F_W },
  112. {"movea$s",    O_ALL,    O_AN,    S_L,    "x2%1ro1%e",    F_L },
  113. {"movem$s",    O_REGS,    O_WRT,    S_W,    "x4o42%1e%m",    F_W },
  114. {"movem$s",    O_REGS,    O_WRT,    S_L,    "x4o43%1e%m",    F_L },
  115. {"movem$s",    O_RD,    O_REGS,    S_W,    "x4o62%e%1m",    F_W },
  116. {"movem$s",    O_RD,    O_REGS,    S_L,    "x4o63%e%1m",    F_L },
  117. {"movep$s",    O_DN,    O_DISP,    S_W,    "x0%ro61%1r",    F_W },
  118. {"movep$s",    O_DN,    O_DISP,    S_L,    "x0%ro71%1r",    F_L },
  119. {"movep$s",    O_DISP,    O_DN,    S_W,    "x0%ro41%1r",    F_W },
  120. {"movep$s",    O_DISP,    O_DN,    S_L,    "x0%ro51%1r",    F_L },
  121. {"moveq$s",    O_IMM,    O_DN,    S_L,    "x7%1r0%k",    F_L|F_MQ },
  122. {"muls$s",    O_NAN,    O_DN,    S_W,    "xc%1ro7%e",    F_W },
  123. {"mulu$s",    O_NAN,    O_DN,    S_W,    "xc%1ro3%e",    F_W },
  124. {"nbcd$s",    O_DST,    O_NONE,    S_B,    "x4o40%e",    F_B },
  125. {"neg$s",    O_DST,    O_NONE,    S_BWL,    "x44$s%e",    F_W },
  126. {"negx$s",    O_DST,    O_NONE,    S_BWL,    "x40$s%e",    F_W },
  127. {"nop",        O_NONE,    O_NONE,    0,    "x4e71",    0 },
  128. {"not$s",    O_DST,    O_NONE,    S_BWL,    "x46$s%e",    F_W },
  129. {"or$s",    O_IMM,    O_DMEM,    S_BWL,    "x00$s%1e",    F_W },
  130. {"or$s",    O_NAN,    O_DN,    S_BWL,    "x8%1r0$s%e",    F_W },
  131. {"or$s",    O_DN,    O_DMEM,    S_BWL,    "x8%r1$s%1e",    F_W },
  132. {"or$s",    O_IMM,    O_CCR,    S_B,    "x003c",    F_B },
  133. {"or$s",    O_IMM,    O_SR,    S_W,    "x007c",    F_W },
  134. {"ori$s",    O_IMM,    O_DST,    S_BWL,    "x00$s%1e",    F_W },
  135. {"ori$s",    O_IMM,    O_CCR,    S_B,    "x003c",    F_B },
  136. {"ori$s",    O_IMM,    O_SR,    S_W,    "x007c",    F_W },
  137. {"pea$s",    O_STAT,    O_NONE,    S_L,    "x4o41%e",    F_L },
  138. {"reset",    O_NONE,    O_NONE,    0,    "x4e70",    0 },
  139. {"ro$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so7%1r",F_W },
  140. {"ro$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so3%1r",F_W },
  141. {"ro$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo3$d11%e",    F_W },
  142. {"rox$d$s",    O_DN,    O_DN,    S_BWL,    "xe%r$d$so6%1r",F_W },
  143. {"rox$d$s",    O_IMM,    O_DN,    S_BWL,    "xe%q$d$so2%1r",F_W },
  144. {"rox$d$s",    O_DMEM,    O_NONE,    S_W,    "xeo2$d11%e",    F_W },
  145. {"rte",        O_NONE,    O_NONE,    0,    "x4e73",    0 },
  146. {"rtr",        O_NONE,    O_NONE,    0,    "x4e77",    0 },
  147. {"rts",        O_NONE,    O_NONE,    0,    "x4e75",    0 },
  148. {"sbcd$s",    O_DN,    O_DN,    S_B,    "x8%1ro40%r",    F_B },
  149. {"sbcd$s",    O_PRE,    O_PRE,    S_B,    "x8%1ro41%r",    F_B },
  150. {"stop",    O_IMM,    O_NONE,    0,    "x4e72",    0 },
  151. {"sub$s",    O_IMM,    O_DST,    S_BWL,    "x5%q1$s%1e",    F_W|F_Q },
  152. {"sub$s",    O_IMM,    O_AN,    S_WL,    "x5%q1$s%1e",    F_W|F_Q },
  153. {"sub$s",    O_ALL,    O_AN,    S_W,    "x9%1ro3%e",    F_W },
  154. {"sub$s",    O_ALL,    O_AN,    S_L,    "x9%1ro7%e",    F_L },
  155. {"sub$s",    O_IMM,    O_DMEM,    S_BWL,    "x04$s%1e",    F_W },
  156. {"sub$s",    O_NAN,    O_DN,    S_BWL,    "x9%1r0$s%e",    F_W },
  157. {"sub$s",    O_AN,    O_DN,    S_WL,    "x9%1r0$s%e",    F_W },
  158. {"sub$s",    O_DN,    O_DMEM,    S_BWL,    "x9%r1$s%1e",    F_W },
  159. {"suba$s",    O_ALL,    O_AN,    S_W,    "x9%1ro3%e",    F_W },
  160. {"suba$s",    O_ALL,    O_AN,    S_L,    "x9%1ro7%e",    F_L },
  161. {"subi$s",    O_IMM,    O_DST,    S_BWL,    "x04$s%1e",    F_W },
  162. {"subq$s",    O_IMM,    O_DST,    S_BWL,    "x5%q1$s%1e",    F_W|F_Q },
  163. {"subq$s",    O_IMM,    O_AN,    S_WL,    "x5%q1$s%1e",    F_W|F_Q },
  164. {"subx$s",    O_DN,    O_DN,    S_BWL,    "x9%1r1$so0%r",    F_W },
  165. {"subx$s",    O_PRE,    O_PRE,    S_BWL,    "x9%1r1$so1%r",    F_W },
  166. {"swap$s",    O_DN,    O_NONE,    S_W,    "x4o410%r",    F_W },
  167. {"tas$s",    O_DST,    O_NONE,    S_B,    "x4o53%e",    F_B },
  168. {"trap",    O_IMM,    O_NONE,    0,    "x4e4%v",    F_TV },
  169. {"trapv",    O_NONE,    O_NONE,    0,    "x4e76",    0 },
  170. {"tst$s",    O_DST,    O_NONE,    S_BWL,    "x4a$s%e",    F_W },
  171. {"unlk",    O_AN,    O_NONE,    0,    "x4o713%r",    0 },
  172. {"",        0,    0,    0,    "",        0 }
  173.